package cn.wolfcode.crm.query;

import java.util.Collections;
import java.util.List;

import lombok.Data;
import lombok.Getter;
@Data
@Getter
//用于封装分页查询后每页的所有数据（结果集和分页条信息
//封装页面中需要查询看到的数据(7)
public class PageResult {
	//用户给你
	private Integer currentPage;//当前页
	private Integer pageSize;//每页最多显示多少条数
	
	//查询到的
	private Integer totalCount;//总条数,结果总集
	private List<?> list;//每页显示的数据,结果集
	
	//计算出来的
	private Integer totalPage;//总页数
	private Integer prevPage;//上一页
	private Integer nextPage;//下一页

	//当总条数为0 时使用new PageResult(1)
	//如果在数据库里查不出来数据就调用构造器，默认显示第一页，总条数0
	public PageResult(Integer pageSize){
		this(1, 0, Collections.EMPTY_LIST, pageSize);
	}

	public PageResult(Integer currentPage, Integer totalCount, List<?> list, Integer pageSize) {
		this.currentPage = currentPage;
		this.pageSize = pageSize;
		this.list = list;
		this.totalCount = totalCount;

		//计算
		this.totalPage = totalCount % pageSize == 0 ? totalCount / pageSize : totalCount / pageSize + 1;
		this.prevPage = currentPage > 1 ? currentPage - 1 : 1;
		this.nextPage = currentPage < totalPage ? currentPage + 1 : totalPage;
	}


		
		
	}
	
	
